/*
Copyright (C) 2009  Raymond Jeon
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/




#include "gl_lib_include.h"
#include "gl_mail_log.h"
#include "gl_mail_config.h"
#include "gl_mail_configfunc.h"




////////////////////////////////////////////////////////////////////////////////
//	Date : 2003-3-26
//	Update : 
//	Author : Raymond Jeon
//	Parameters
//	Return Value  
//	Remarks 
////////////////////////////////////////////////////////////////////////////////

void GlMailServerParentInit()
{
	char szFile[_MAXPATH];

	GLTRACE("GlMailServerParentInit");

	GlThreadPoolMemoryLock();

	GlSockStartup();
	GlMailLogInit();
	GlGlobalDataInit();
    GlSprintf(szFile, _MAXPATH, "%s\\%s", glData.szDirConfig, "mail.cf");
	GlConfigRead(szFile, glMailConfig, NULL, CONFIG_PARENT);
	GlSockCheckAllPort();

	GlThreadPoolMemoryUnLock();
}




////////////////////////////////////////////////////////////////////////////////
//	Date : 2003-3-26
//	Update : 
//	Author : Raymond Jeon
//	Parameters
//	Return Value  
//	Remarks 
////////////////////////////////////////////////////////////////////////////////

void GlMailServerChildInit()
{
	char szFile[_MAXPATH];

	GlThreadPoolMemoryLock();

	GlSockStartup();
	GlMailLogInit();
	GlInitMxRecordCache();
	GlGlobalDataInit();
    GlSprintf(szFile, _MAXPATH, "%s\\%s", glData.szDirConfig, "mail.cf");
	GlConfigRead(szFile, glMailConfig, NULL, CONFIG_CHILD);
	GlSockCheckAllPort();

	GlThreadPoolMemoryUnLock();
}


